package com.cndw.kungfu.model.battle.buff;

import com.cndw.kungfu.domain.BuffMode;
import com.cndw.kungfu.model.battle.Battle;
import com.cndw.kungfu.model.battle.Fighter;

/**
 * buff 对外接口
 * @author fantadust [9677889@qq.com]
 * @date 2011-5-27 上午09:38:36
 */
public interface BuffLibI {

	/**
	 * 初始化buff
	 * @param buffMode
	 * @param source
	 * @param target
	 * @param battle
	 */
	public BuffLibI initBuffMode(BuffMode buffMode,Fighter source,Fighter target,Battle battle);


	/**
	 * 启动任务时长队列
	 */
	public void initLifeTask();

	/**
	 * 中止某个buff
	 */
	public boolean cancel();

	/**
	 * 中止任务时候触发,子类可覆盖
	 */
	public void onCancel();

	public void onOver();
	
	public BuffMode getBuffMode();
	
	public Fighter getSource();

	public Fighter getTarget();
	
	public int getBuffInitRound();
	
	public boolean checkOver();
	
	public int getSignId();

}